package firstday;

import org.junit.Test;

import java.util.ArrayList;

//1、继承：子类Cat类继承父类Animal
public class Cat extends Animal{
//2、重写：子类Cat重写父类的cry()方法
    @Test
    public void cry(){
//3、多态，子类对象赋值给父类类型的引用，派生类的功能可以被基类的方法或引用变量所调用，这叫向后兼容，可以提高可扩充性和可维护性。
        Animal cat=new Cat();
        cat.setType("猫科动物");
        cat.setName("小黄猫");
        cat.setAge("2岁");
        System.out.println(cat.getName());
        //调用父类的cry()方法
        System.out.println(cat.toString());
        super.cry();
    }

//4、重载
    @Test
    public void overloading(){
        Animal animal=new Animal();
        Integer add1 = animal.add(2, 2);
        Integer add2 = animal.add(2, 2,3);
        System.out.println("两个数相加:"+add1);
        System.out.println("三个数相加:"+add2);
    }
}
